#pragma once
#include "DXAMLCommon.h"


class IPALRegkeyServices
{
public:
	virtual HRESULT GetDefaultVideoCaptureDeviceIdentifier( CXString **ppDefaultDevice) = 0;
	virtual HRESULT GetDefaultAudioCaptureDeviceIdentifier(CXString **ppDefaultDevice) = 0;
	virtual HRESULT SetDefaultVideoCaptureDeviceIdentifier(CXString *pDefaultDevice) = 0;
	virtual HRESULT SetDefaultAudioCaptureDeviceIdentifier( CXString *pDefaultDevice) = 0;
	virtual HRESULT GetAllowAllWebcamAccess( XUINT32 *pbAllowAllWebcamAccess) = 0;
	virtual HRESULT GetAllowWebcam( XUINT32 *pbAllowWebcam) = 0;
	virtual HRESULT GetAllowInstallOfElevatedTrustApps( XUINT32 *pbAllowInstall) = 0;
	virtual HRESULT GetAllowLaunchOfElevatedTrustApps( XUINT32 *pbAllowLaunch) = 0;
	virtual HRESULT GetAllowElevatedTrustAppsInBrowser( XUINT32 *pbAllowEPInBrowser) = 0;
	virtual HRESULT GetAllowUdpMulticastClients( XUINT32 *pbAllowMulticast) = 0;
	virtual HRESULT CheckForceGPUDecode( XUINT32 *pForceGPUVideoDecode) = 0;
	virtual HRESULT GetIsolatedStorageQuotaFromSettings( CXString *pstrDomainName, XUINT32 *pbSetQuotaToMax) = 0;
	virtual HRESULT GetClientInfoEnabled( XUINT32 *pfClientInfoEnabled) = 0;
	virtual HRESULT GetClientInfoAllowedDomains( CXString **ppAllowedDomains) = 0;
	virtual HRESULT GetIsolatedStorageInnerExceptionsAllowedDomains( CXString **ppAllowedDomains) = 0;
	virtual HRESULT CheckEnableGPUVideoDecode( PAL_GPU_DECODE_STATE *peGPUDecodeState) = 0;
	virtual HRESULT SetEnableGPUVideoDecode(PAL_GPU_DECODE_STATE eGPUDecodeState) = 0;
	virtual HRESULT GetEnableFramerateCounter( XUINT32 *pfEnableFramerateCounter) = 0;
	virtual HRESULT GetEnableOverdrawHeatMap( XUINT32 *pfEnableOverdrawHeatMap) = 0;
	virtual HRESULT ReadPrimitiveCompositorFlags( XUINT32 *pFlags) = 0;
	virtual HRESULT GetPasswordRevealDisabled( XUINT32 *pfPasswordRevealDisabled) = 0;

};